LÓGICA NO MONÓTONA

“Mientras mucho razonamiento humano se corresponde con la lógica tradicional, una parte importante del razonamiento de sentido común no parece ser monotónico” (John McCarthy)

“El razonamiento ‘lógico’ no es suficientemente flexible para servir como fundamento del pensamiento” (Marvin Minsky)



Concepto

La lógica clásica se basa en lo siguiente. Supongamos que tenemos una serie de sentencias, de las que se infieren ciertas conclusiones. Si añadimos nuevas sentencias, habrá nuevas conclusiones, pero las conclusiones originales no se alteran, se conservan en el conjunto de conclusiones ampliado. Esta propiedad se denomina “monotonicidad”.

La lógica no monótona (o no monotónica) −en ingles, nonmonotonic logic− es un tipo de lógica orientada a gestionar inferencias dinámicas (o conclusiones provisionales) a la luz de la información (incompleta) disponible en cada momento. Las conclusiones se actualizan (se eliminan, se añaden o se modifican) con la aparición de nuevas informaciones.

Normalmente, al añadir una nueva información se reduce el número de conclusiones. Esto ocurre también cuando se describe una cierta entidad de manera general (por ejemplo, “E es un animal”) y luego se van añadiendo nuevas características (por ejemplo, “E es un mamífero”, “E es volador”, etc.), que van estrechando progresivamente su ámbito.


Lógica monótona vs. Lógica no monótona

Las características diferenciadoras son:
Retractabilidad vs. no monoticidad

Se llaman “razonamientos revocables”, “rebatibles” o “retractables” (defeasible reasoning) a los razonamientos en los que las conclusiones se obtienen a partir de información incompleta y suposiciones, conclusiones que posteriormente pueden ser revocadas cuando se disponga de más información. El razonamiento revocable es habitual en un gran número de campos como: la investigación científica, el diseño de dispositivos (electrónicos o mecánicos), el diagnóstico de situaciones o problemas, etc.

Retractabilidad y no monoticidad no son sinónimos. Todo razonamiento no monótono es retractable. Pero lo contrario no es cierto: la retractabilidad no implica la no monoticidad porque la retractabilidad puede haber sido causada por cambios en el contexto.


Los problemas de la lógica no monótona

Los problemas que se plantean en los sistemas de lógica no monótona son:
Aplicaciones de la Lógica no Monótona

Inteligencia artificial (IA)

La lógica juega un papel esencial en IA. La lógica clásica ha jugado un papel importante en informática, pero no sirve para la IA. El razonamiento humano normal es no monótono. Por lo tanto, los sistemas de IA deben de ser capaces de razonar de manera no monótona. Sabemos que el mundo real es un mundo dinámico, donde las cosas cambian. Por lo tanto, el conocimiento es no monótono, es decir, cada nuevo conocimiento viene a modificar e incluso invalidar los conocimientos anteriores.

Un sistema de IA debe de tener un comportamiento inteligente: razonar e inferir conclusiones plausibles, planificar, tomar decisiones en diferentes tipos de situaciones, realizar acciones, etc., todo ello en función de la información que posee en cada momento. Para ello, un programa de ordenador capaz de actuar inteligentemente debe tener un modelo y una representación general del mundo. “Un programa de ordenador capaz de actuar inteligentemente en el mundo debe tener una representación general del mundo en términos del cual se interpreten los inputs” [McCarthy & Hayes, 1969].


Razonamiento de sentido común

El razonamiento no monótono está estrechamente relacionado con el tema de la formalización del razonamiento de sentido común, un tema clave en IA. El razonamiento de sentido común es el razonamiento humano de tipo cualitativo aceptado por una comunidad.

John McCarthy fue el primero en destacar la necesidad e importancia de formalizar el sentido común antes de que existiera una teoría al respecto. Este campo de la IA fue inaugurado en 1958 por McCarthy en su artículo “Programs with common sense” [McCarthy, 1958].


El problema del marco

El problema del marco (frame problem) es un problema planteado por John McCarthy y Patrick Hayes en su artículo 1969 “Some Philosophical Problems from the Standpoint of Artificial Intelligence” [McCarthy & Hayes, 1969]. Se trata de que un agente artificial debe conocer lo que cambia y lo que no cambia como consecuencia de una acción que pueda ejecutar. Las cosas que no cambian como resultado de una acción del agente serán normalmente muy numerosas y es difícil tenerlas todas en la base de datos del sistema por ser, en general, no homogéneas. Según McCarthty, el contexto es una entidad demasiado extensa para poder ser especificado completamente.

El problema del marco implica un razonamiento predictivo, un tipo de razonamiento que es esencial para planificar y formalizar el comportamiento inteligente: a partir de la situación actual, conocer los estados inmediatamente posteriores para cada posible acción a realizar.

Una solución más simple y eficiente es razonar de forma no monótona usando la regla por defecto de que las cosas no cambian excepto cuando se conocen o se especifican explícitamente que se alteran.


Razonamiento por defecto

En el razonamiento por defecto (default reasoning) se suponen propiedades por defecto mientras no se especifique lo contrario, y se infieren conclusiones. También se denomina “razonamiento genérico” porque supone propiedades genéricas o típicas que representan la “normalidad”.

Se basa en dos principios:
  1. El principio de generalidad. Hay que distinguir entre enunciados universales y genéricos:


  2. El principio de especificidad. La información específica tiene prioridad sobre la información genérica en caso de conflicto.
Ejemplo:
Razonamiento abductivo

El razonamiento abductivo es un tipo de razonamiento revocable en el que a partir de un hecho se formula la hipótesis más probable, la más simple posible y la que mejor explique el hecho. La hipótesis se introduce como una nueva regla que conecta la hipótesis con el hecho.

Por ejemplo, si la hierba está húmeda, entonces lo más probable es que haya llovido. Esta conclusión se puede retractar si posteriormente se observa que el tejado está seco o si sabe que un aspersor estuvo funcionando.

Los enunciados hipotéticos son esenciales en la formulación de teorías científicas y del método científico, cuyos pioneros fueron Galileo y Francis Bacon. Para Popper, Las hipótesis y las teorías científicas son conjeturas que tienen que ser refutables.


Herencia no monótona

La herencia no monótona es el problema de construir jerarquías cuando existen excepciones [Horty, 1994]. Se aplican dos principios:
  1. El principio de herencia.
    Cuando disponemos de conocimientos organizados por taxonomías, se supone que una clase hereda las propiedades de las clases superiores, mientras no se especifiquen excepciones.

  2. El principio de especificidad.
    La información específica tiene prioridad sobre la información heredada en caso de conflicto. Este principio se aplica cuando hay excepciones al principio de herencia. Puede haber excepciones de orden superior (excepciones de excepciones).
Por ejemplo:
Formalismos de la Lógica no Monótona

Lógica por defecto (default logic)

En la lógica por defecto [Reiter, 1980] se utilizan implicaciones que suplementan la lógica de predicados de primer orden con reglas que tienen la forma siendo p lo conocido, q una justificación y r es el consecuente. Su significado es: “Si p es conocido y es consistente con la suposición de q, entonces implica r”. En los casos simples, q y r son iguales.

Se suele utilizar la notación siguiente para los diferentes tipos de inferencia: Por ejemplo: Se aplica el principio de especificidad: lo específico prevalece sobre lo genérico. Por ejemplo:
Circunscripción

Desarrollada por John McCarthy [1980], es una formalización basada en la utilización de sentencias generales que cubran la mayor parte de los casos, para posteriormente ir delimitando (circunscribiendo) mediante otras sentencias para especificar las excepciones o los casos particulares.

La circunscripción se basa en los siguientes principios: McCarthy utilizó la circunscripción para intentar formalizar el sentido común y el problema del marco. También la utilizó para formalizar el principio de inercia: las cosas no cambian a menos que se indique lo contrario.

McCarthy formalizó la circunscripción mediante la lógica de segundo orden para minimizar la extensión de los predicados anormales o poco frecuentes. Esta lógica permite que los predicados tengan cuantificadores (o variables) asociados en las sentencias.

Por ejemplo:
Suposición del mundo cerrado (Closed World Assumption, CWA)

Este formalismo, debido a Raymond Reiter [1978], consiste en presuponer que toda sentencia verdadera es conocida. Por lo tanto (por modus tollens), lo que no es conocido es falso. Es particularmente útil para razonar sobre bases de datos que se suponen completas.

Ejemplos:
  1. Un agente de viajes tiene acceso a una base de datos de vuelos y tiene que responder a un cliente sobre si existe un vuelo directo desde una ciudad A a otra ciudad B. La consulta a la base de datos da como respuesta que hay o que no hay vuelos directos.

  2. Tenemos una base de datos del personal de una empresa, que suponemos completa. Una consulta sobre si un empleado determinado trabaja en la empresa, produce como respuesta “sí” o “no”.
Este formalismo es un proceso puramente formal. Implica una inferencia no monótona, puesto que la adición de nueva información puede producir una respuesta distinta.

En el formalismo de la suposición de mundo abierto (Open World Assumption, OWA), lo no conocido no implica la falsedad.


Lógica autoepistémica

La lógica autoepistémica [Moore, 1985] se basa en la idea de que podemos realizar inferencias desde nuestro conocimiento introspectivo, razonando sobre nuestras propias creencias. Por ejemplo, puedo inferir que no debo un millón de euros a nadie, porque si fuera así lo sabría.

En este tipo de lógica el conocimiento se representa mediante reglas prácticas con implicaciones sobre nuestras creencias.


Programación lógica

En programación lógica, un programa consta de un conjunto de reglas de la forma Por ejemplo, En programación lógica se utiliza el principio de la “negación por defecto”: si no se especifica explícitamente que un elemento no tiene una propiedad, es que la tiene. En el ejemplo anterior, si un pájaro no se ha especificado que no es un pingüino, entonces se supone que es un pingüino.

El lenguaje de programación lógica Prolog, desarrollado por Colmerauer y su equipo [1973], fue el primer lenguaje en incorporar la lógica no monótona.

Un ejemplo de programa lógico es: Supongamos que P es un pájaro. Por defecto, no es un pingüino. Por lo tanto, aplicando la primera regla, P vuela. Las otras dos reglas no son aplicables.

Supongamos que P es un pingüino. La primera regla no es aplicable, pero sí las otras dos. Por lo tanto, P es un pájaro que no vuela.


La Lógica No Monótona en MENTAL

Con MENTAL todo es más simple, claro y directo porque se trabaja directamente con arquetipos primarios, los arquetipos de la conciencia:
Ejemplos
  1. El ejemplo anterior de circunscripción:

    ⟨( (x/pájaro ∧ x/normal) → x/vuela )⟩
    (todos los pájaros normales vuelan)

    ⟨( (x/pájaro ∧ x/no-normal) → x/no-vuela )⟩
    (todos los pájaros no normales no vuelan)

    ⟨( (x/pájaro → x/normal )⟩
    (todos los pájaros son normales)

    ⟨( x/pingüino → x/pájaro )⟩
    (un pingüino es un pájaro)

    P/pájaro
    (P es un pájaro. Conclusión: “P vuela”)

    P/no-normal
    (Nuevo hecho. Nueva conclusión: “P no vuela”)

    Conclusiones (incluyendo los hechos):
    P/pájaro P/pingüino P/no-vuela

  2. Un ejemplo de utilización de meta-reglas.

    ⟨( k=1 → ⟨( x/hombre → x/mortal )⟩ )⟩
    Pepe/hombre
    k=0
    (Pepe/mortal)? // ev. θ
    k=1
    (Pepe/mortal)? // ev. α


Conclusiones

En definitiva, con MENTAL es muy sencillo especificar un sistema de lógica no monótona desde el punto de vista formal. Una vez más, todo es más claro, directo e intuitivo, gracias a las posibilidades del lenguaje, principalmente las expresiones genéricas, que permiten inferir consecuencias en todo momento y modificar las expresiones del espacio abstracto.

La lógica no monótona no es una nueva lógica. La lógica subyacente no cambia. Es una lógica ampliada con suposiciones o hipótesis y con meta-reglas para describir principios (como el de generalidad, espcificidad y herencia). Una vez ampliada con esos contenidos, la lógica resultante es una lógica deductiva.

Los formalismos no monótonos no resuelven los problemas de razonamiento en IA. La IA debe abordarse desde los grados de libertad (los arquetipos primarios), no solo desde el punto de vista lógico.


Generalización

De acuerdo con el principio de generalización, el concepto de “no monótono” tiene que ser general, es decir, aplicarse no solo a la lógica. En general, un sistema no monótono es aquel en el que cambia el espacio abstracto cada vez que se añaden nuevos hechos (expresiones no genéricas). Una expresión no genérica puede modificar una expresión genérica, como en el siguiente simple ejemplo:

Programa: Situación inicial: Adición de un nuevo hecho y modificación de uno existente: Nueva situación:

Adenda

Origen de la lógica no monótona

La lógica no monótona surgió al constatar que la lógica de predicados de primer orden no era adecuada para la gestión del razonamiento de sentido común, las inferencias retractables y para abordar en general los problemas planteados por la IA. Sus pioneros fueron John McCarthy (uno de los padres de la inteligencia artificial), Drew McDermott, Jon Doyle y Raymond Reiter.

La lógica no monótona se ha desarrollado principalmente en el ámbito de la IA, concretamente en el tema de la formalización del razonamiento de sentido común. Hoy día es considerada una parte esencial de la IA.

En 1980, el Artificial Intelligence Journal publicó un número monográfico (el número 13) sobre las teorías y los formalismos de la lógica no monotóna, evento que se considera el comienzo de la era de esta nueva lógica.


Los tres tipos de razonamiento

Según Peirce, hay tres tipos de razonamiento:
  1. Deductivo o descendente.
    Se aplica la lógica clásica, la lógica monótona. A partir de premisas se obtienen conclusiones. Es puramente racional, del modo de conciencia del lado izquierdo del cerebro.

  2. Inductivo o ascendente.
    A partir de varios hechos se infiere una conclusión general que explica todos los hechos. Es intuitivo, del modo de conciencia del lado derecho del cerebro.

  3. Abductivo.
    Combina los dos anteriores. Se aplica la lógica no monótona. Se trata de explicar un hecho mediante una hipótesis explicativa. Peirce denominó al razonamiento abductivo “conjetura” (guessing).
La inducción se basa en la regularidad de los hechos. La abducción trabaja con el conocimiento de un hecho inesperado, infrecuente o anormal, cuya causa no se ha determinado aún, y que necesita una hipótesis explicativa.

El razonamiento abductivo es intuitivo y racional. Está, por lo tanto, asociado a la conciencia y a la creatividad. Trata de hacer inteligible la realidad mediante la formulación de hipótesis que intentan dar una explicación racional a un hecho o fenómeno. Este tipo de razonamiento es lo que hace posible el progreso de la ciencia. La conciencia se manifiesta o expresa en la regla que une los opuestos (la hipótesis y el hecho).


Bibliografía